package KMP算法;

public class BF算法 {
	//BF暴力匹配算法
	public static void main(String[] args) {
		String str1 = "BBC ABCDAB ABCDABCDABDE";
		String str2 = "ABCDABD";
		
		int index = bfSearch(str1, str2);
		System.out.println(index);
	}
	
	public static int bfSearch(String str1, String str2) {
		//两字符串转数组
		char[] arr1 = str1.toCharArray();
		char[] arr2 = str2.toCharArray();
		//开始匹配位置
		int i = 0;
		int j = 0;
		
		while(i < arr1.length && j < arr2.length) {
			//开始匹配
			if(arr1[i] == arr2[j]) {
				i++;
				j++;
			}else {
				//退回上一次开始的下一个位置
				i = i - (j - 1);//i = i - j + 1;
				//子串归零，重新开始
				j = 0;
			}
		}
		
		//结束条件，子串全部匹配完成
		if(j == arr2.length) {
			//子串开始位置
			return i - j;
		}
		return -1;
	}

}
